home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Netware Super Library
/
Netware Super Library.iso
/
inet_tcp
/
freetcp
/
readme.txt
< prev
Wrap
Text File
|
1995-08-22
|
22KB
|
450 lines
FreeTCP
=======
Assembled from bits 'n pieces by Jacco de Leeuw (leeuw@fwi.uva.nl)
Introduction
============
With the contents of this archive file, you can use the Internet Access Kit
included with regular Warp (Red box and Blue box) on your Local Area Network,
e.g. Ethernet. Normally, the IAK can only be used on a serial dial up line
with the SLIP or PPP protocol.
You won't have to buy extra networking software such as Warp Connect or
Lantastic. Although these packages are not bad at all, you may not want to
spend more money. And perhaps you don't even need the full functionality
of these products (such as Peer-to-Peer connectivity and TCP/IP server
daemons, so that people can logon to your PC running TELNETD etc.).
The solution contained in this archive works great for people on a budget,
such as students with Ethernet in their dorms.
What we want to do is pass TCP/IP packets to the network driver instead of
the serial port. On the Web, http://pclt.cis.yale.edu/pclt/winworld/os2.htm
gives a graphical display of it. Warp needs a couple of files to make this
happen. Some of these files -- buried in several ZIP and Self Extracting
archives -- can be found on Microsofts' FTP server (of all places!), others
are up on Hobbes. In this archive you'll find the most relevant files so you
won't have to go through the hassle of downloading, extracting, installing
and deleting a couple of megabytes.
One other file that is needed is IFNDIS.SYS (about 32 Kb). It is not
included but can be found in the archive TCP20C4.EXE or TCP20C4.ZIP.
See README.1ST about the controversy around this file.
If you prefer to download the whole lot yourself, here are the locations:
Microsoft LAN Manager 2.2c Client for OS/2:
ftp://ftp.microsoft.com/BusSys/Clients/LANMAN.OS2/
IBM TCP/IP 2.0 for OS/2 CSD:
ftp://ftp.cdrom.com/pub/os2/ibm/tcpip/tcp20*
ftp://ftp.cdrom.com/pub/os2/network/tcpip/tcp20*
ftp://software.watson.ibm.com/pub/tcpip/os2/tcp20*
ftp://hobbes.nmsu.edu/os2/ibm/tcpip/tcp20*
ftp://hobbes.nmsu.edu/os2/network/tcpip/tcp20*
An old Netbind.exe from Microsoft, but it seems to do the trick:
(this one _was_ on Hobbes but apparently some old stuff has been cleaned
up. You can still find it with Archie on some other sites.)
ftp://infoserv.cc.uni-augsburg.de/pub/msdos/tcpip/driver/zip/ndis.zip
ftp://ftp.latrobe.edu.au/archive-disk2/os2/16bit/network/ndis/ndis.zip
Documentation
=============
I've included some background information on the IAK, TCP/IP etc. in
\FREETCP\DOCS. Not everything is relevant. Most of this stuff is even quite
advanced. Just skip the hard bits. Some great stuff on Warp networking (Post-
script format) can be found at
ftp://ftp.cdrom.com/pub/os2/warp/info/warpslip.zip and on the Web at
PC Lube & Tune, http://pclt.cis.yale.edu/pclt/winworld/os2.htm
This is great technical stuff, also very informative when you are
configuring your setup. Recommended.
Installation
============
First, let me describe briefly what you'll have to do:
1. Get the CSD and extract the file IFNDIS.SYS from it to \FREETCP\BIN
2. Get an NDIS driver for your network card and put it in \FREETCP\BIN
3. Configure the interrupt, DMA, I/O address etc. for your network card
in \FREETCP\BIN\PROTCOL.INI
4. Add \FREETCP\CONFIG.ADD to your \CONFIG.SYS and edit it
5. Edit \FREETCP\BIN\LANSTART.CMD
6. Make a shadow of LANSTART.CMD in your startup folder
7. Reboot (and goto step 3 if anything goes wrong *GRIN*)
8. Make an entry in the Dialer ('Dial Other Providers')
9. "Dial" your entry so that the correct configuration files will be set up
10. Configure your TCP/IP applications such as Ultimail/2 "Lite" (or replace
them with better ones :-)
11. Start using TCP/IP apps.
If you are setting up this stuff for the first time, I suggest you skip
steps 6, 8..11 and put a REM before the line RUN=NETBIND.EXE in your
CONFIG.SYS. This allows you to open an OS/2 window and execute
NETBIND.EXE and LANSTART.CMD manually. This way, should something go
wrong, there's more chance you will see an error message. If you get
no errors, you can continue with the steps you skipped.
1. Get the CSD and extract files
--------------------------------
First, you'll have to get the IBM TCP/IP 2.0 CSD. Actually, you only
need "disk" #4 of the CSD. The latest CSD is on IBM's own FTP site:
ftp://software.watson.ibm.com/pub/tcpip/os2/tcp20c4.exe
but you'll probably want to get it from another FTP site :-), e.g.
ftp://hobbes.nmsu.edu/os2/ibm/tcpip/tcp20c4.exe
Next, you'll have to extract the only file needed, IFNDIS.SYS.
I've made a command file, EXTRACT.CMD located in \FREETCP\BIN, which should
do the trick for you (Info-Zip's UNZIP.EXE needs to be in your path). If you
want, you can extract IFNDIS.SYS on your Unix host and then download it so
that you won't have to download the whole 1.1 Mb. EXTRACT.CMD needs one
parameter, the (path and) filename of the CSD file containing IFNDIS.SYS.
For instance, if you have the March '95 Hobbes CD on F:, goto the directory
\FREETCP\BIN and execute EXTRACT F:\NETWORK\TCPIP\TCP20C4.EXE. This will put
IFNDIS.SYS in the desired directory. (If you got the CSD from a BBS, then
there's a chance the file will be called TCP20C4.ZIP. You can use EXTRACT2.CMD
in that case. I've received a free CD from IBM with files from the Hotline BBS
Switzerland, which had the CSD in zip format as well).
As you can read in \FREETCP\DOCS\WARPTCP.TXT, the INET.SYS included
with the IAK of Warp will "break the full client/server functionality
of Ultimail/2". I'm not sure but I think they mean Ultimail/2 as shipped
with IBM TCP/IP 2.0, not Ultimail/2 "Lite" as shipped with the IAK. So
I guess if you intend to use only the TCP/IP applications shipped with the
IAK, the INET.SYS from Warp may be good enough. Anyway, there is a new
INET.SYS included with the latest PPP/Dialer kit (just use "Retrieve Software
Updates"), which may or may not solve the problem. Oh, and there's an INET.SYS
in the CSD as well...
2. Get an NDIS driver
---------------------
You'll need an OS/2 NDIS driver for your network card. You can use the one
which was supplied with your card (if you're lucky) or else look for one
in ftp://ftp.cdrom.com/pub/os2/network/ndis/,
ftp://hobbes.nmsu.edu/os2/network/ndis/ or elsewhere. I'm not sure if it has
to be a 32-bit driver. Several people have reported crashes with their (old),
vendor supplied, driver for NE2000 compatibles. The Warp IAK is
32-bit, I'm not sure about the LAN Manager files. If your NDIS driver
crashes, TRAPs etc., try to get a later version.
For your convenience, I decided to include a driver for NE2000 compatibles
in this archive because NE2000 clones are inexpensive and very common
among home users, students, etc. Since OS/2 drivers for NE2000 clones
are often buggy and several people have reported success with this particular
driver, I thought I'd add it to this archive. So you won't have to
waste time struggling with your own driver and looking for a better one...
There seems to be a new NE2000 compatible driver on Hobbes,
ftp://hobbes.nmsu.edu/os2/drivers/ne2000wc.zip which is for Warp Connect.
Get this file if you run into troubles with the included NE2000 driver. It
contains elaborate instructions on how to solve them.
DON'T use the NE2000 driver included in the Microsoft LAN Manager archive
(MS2000$) since it crashes Warp real hard! (What else would you expect,
eh? :-). There are known problem with MS LAN Manager and some network cards
(mainly Token Ring). For a list, see
ftp://ftp.cdrom.com/pub/os2/network/ndis/lmos22.zip
If you only have a Novell ODI driver for your network card, you need
ODINSUP, the ODI-to-NDIS "shim". There's an old version up on
ftp://ftp.jussieu.fr/pub6/pc/os2/16bit/network/odinsp.zip but I don't
know if this one works. The latest version should be included with the
Netware requester on ftp://ftp.novell.com/pub/netware/nwos/os2clnt211/
You'll probably still need the LAN Manager stuff since the IAK seems to be
closely tied to NDIS.
Token Ring network cards should be supported but I have no way of knowing.
If you get one working, please contact me.
3. Edit PROTOCOL.INI
--------------------
You should now edit \FREETCP\BIN\PROTOCOL.INI to reflect the settings
for your network card.
[TCPIP_XIF]
DRIVERNAME = TCPIP$
BINDINGS = "NS2000_NIF"
^^^^^^^^^^
Here you tell LAN Manager to which NDIS driver the TCP/IP stack of Warp
has to "bind", i.e. forward or receive packets to/from. The included
PROTCOL.INI is configured to use the NS2000 driver for NE2000 compatibles.
I myself had a 3COM EtherLink III 3C579 at my disposal. I picked up a
driver from ftp://ftp.cdrom.com/pub/os2/network/ndis/3c5x9.zip. Most
drivers contain an example PROTOCOL.INI file which you can use as a starting
point. This file usually contains a description of all the "keywords" for the
driver, but in many cases the default settings will do. If you wanted to use
the EtherLink III driver, you would have to change the BINDINGS in the
TCPIP_XIF section to the name of the 3C509_NIF section. This was all I
had to do, since the 3COM card was self configuring.
Your network card may be different. If you have an NE2000 clone for example,
you'll need to specifify the Interrupt and the I/O base address. In the
PROTOCOL.INI included with this archive, I have set these to IRQ 15 and
IOBASE 340 in the [NS2000_NIF] section.
4. Edit CONFIG.SYS
------------------
You'll need to edit the CONFIG.SYS on your boot partition. In the following,
I assume your boot partition is D: and you've put the contents of this
archive in \FREETCP on D: as well. As a starting point, have a look at
\FREETCP\CONFIG.ADD. You can copy lines to your own CONFIG.SYS and then edit
them from there.
First of all, \FREETCP\BIN should be added to both your PATH and DPATH.
If you add this path _before_ \TCPIP\BIN, the replacement LINKUP.EXE will
be used (see my remarks below about this LINKUP.EXE). Next, copy everything
between the LANMAN lines to your CONFIG.SYS and modify them to reflect
your paths. You might want to REM out the line with the RUN=NETBIND.EXE
so that you can run it from a command line. This allows you to see error
messages. Later on, when everything works, you can remove the REM again.
In the CONFIG.ADD example, the INET.SYS from the IAK is loaded. See step 1
about this.
Next, put in a DEVICE= entry for your OS/2 NDIS driver. In CONFIG.ADD,
the NS2000 driver is used.
REM out the two lines in your original CONFIG.SYS where INET.SYS
and IFNDISNL.SYS are being loaded. (Or leave INET.SYS as it is but don't
copy it from CONFIG.ADD. Just don't load it twice).
Leave the SET TMP= and SET ETC= as they are in your CONFIG.SYS.
I.e. don't copy them from CONFIG.ADD
I've REMmed out the TCP/IP driver for the DOS boxes, as you can see in
CONFIG.ADD. This is my own personal preference. I don't need TCP/IP access
in DOS and Windows sessions. This saves some memory. If you need this
feature you can leave them in your own CONFIG.SYS as they are. You should
not REM out CNTRL.EXE, it has nothing to do with DOS drivers.
See http://pclt.cis.yale.edu/pclt/winworld/os2logic.htm for what it does.
5. Edit LANSTART.CMD
--------------------
You'll need to tell the TCP/IP stack a couple of things about the
configuration for your network card. Most of this information should come
from your system administrator. Some of this info has to go in
\FREETCP\BIN\LANSTART.CMD. First, you need a (numerical) IP address for your
machine. It is a no-no to just "make one up" if you want to connect to the
big Internet. You should contact your network administrator for a valid IP
address in order to play it by the book. If he/she isn't cooperating (or you
don't have one :-) perhaps you could use some reserved private network
IP address such as 192.168.20.20 or so (see RFC1597). You need to know your
subnet mask as well. In most cases your subnet will be 255.255.255.0
Now put these two IP numbers in LANSTART.CMD, on the ifconfig line.
(If your company/university/etc. uses Unix BOOTP servers you could try to
change the two IFCONFIG and ROUTE lines to BOOTP.EXE).
Next, you must get hold of the gateway's IP address which you are going to
use. Put this IP address in LANSTART.CMD, on the route add line. The last
parameter (the 1) is the hop count. Change it only if you know what you're
doing. If your network is not really going to be connected to the Internet
(you just want to use FreeTCP to link two PCs, in a crude manner), you might
not need a route add command but I'm not sure.
6. Run LANSTART.CMD at startup
------------------------------
You can do this by dragging a shadow of LANSTART.CMD to your startup folder.
Or you could copy LANSTART.CMD to the root of your boot partition and rename
it to STARTUP.CMD. I suggest to do this after you have figured everything
out. The first time you should run LANSTART.CMD from a command line so that
you can see the error messages.
7. Reboot
---------
Watch any errors you get. You might want to boot with ALT-F2 pressed so that
you see the drivers being loaded and then run NETBIND.EXE and LANSTART.CMD
manually.
8. Add Entry in Dialer
----------------------
Since TCP/IP originates from Unix, the IAK uses all kinds of obscure
Unix-like configuration files. I prefer to use the Dialer since it does most
of the work for you. Just "Add an entry" with the relevant information. You
can skip (or enter whatever you want) the fields which have to do with modems
(such as phone number, login sequence, MTU size, etc.)
The Domain Name server is important and so is your Domain Name. You can make
up "Your Host Name" yourself, if your network administrator didn't do that
already.
I'm not going to explain how to fill in all this information, because that
has been done better elsewhere (press F1 in the Dialer or look on
PC Lube & Tune's Web site).
9. "Dial" entry
---------------
Start the Dialer and Dial your LAN entry. Of course, you won't get far but
at least the configuration files will be set up. There's one thing I noticed:
I had to copy \TCPIP\ETC\RESOLV to a backup file while the Dialer was
"dialing", then I "hung up" and had to copy back this backup file to
\TCPIP\ETC\RESOLV. Somehow the Dialer had deleted it, which resulted in
"Cannot resolve name" errors.
10. Configure TCP/IP apps
-------------------------
...as you would normally do for a dial-up link. The Dialer does not set up
all information for the applications. Especially Ultimail/2 needs a lot more
configuring.
11. Get on the net!
-------------------
If you got this far, don't you sit there waiting! Try it out! For example,
you can use "Retrieve Software Updates" to download the latest WebExplorer,
Dialer, etc. Question 5b in \FREETCP\DOCS\WARPTCP.FAQ says that Ultimail/2
"Lite" is configured for dial-up mail servers. You might want to try other
mail packages such as PMMail or Netsuite instead. Look with the WebExplorer
on http://wc62.residence.gatech.edu/sorensen/tcpip.html for some great
TCP/IP apps.
Notes
=====
LINKUP.EXE
----------
Many TCP/IP apps included with the IAK first open LINKUP.EXE and check
if there's a open dial-up link. If not, you get the warning "Not Connected
to the Internet" and you'll have to click "Don't connect" before the actual
application is loaded. Of course, if you use FreeTCP you'll get this warning
every time you start a TCP/IP app, which you may find annoying. Well, I did,
so I decided to make a replacement for \TCPIP\BIN\LINKUP.EXE. This
replacement program had to run the actual TCP/IP app supplied as a parameter.
I didn't even have to program one myself because I found exactly what I
needed in the testsuite for the EMX/GCC combo
(ftp://ftp.cdrom.com/pub/os2/unix/emx09a/emxtest.zip, file: system.c).
I just had to compile it. If you want to use this replacement LINKUP.EXE,
add the path \FREETCP\BIN _before_ \TCPIP\BIN in your CONFIG.SYS. If you
prefer to add the path at the end of your PATH= line, rename the original
LINKUP.EXE to something else and copy the replacement to \TCPIP\BIN.
I found out, however, that my LINKUP.EXE only works in combination with
4OS/2! I don't know if that is a bug in CMD.EXE. If you insist on using
OS/2's standard CDM.EXE, some TCP/IP objects will open up correctly with
my LINKUP.EXE, other won't start at all. In that case you're probably better
off using the original LINKUP.EXE. But 4OS/2 is such a great piece of software
that you won't regret downloading it from
ftp://ftp.cdrom.com/pub/os2/textutil/4os2pkg.zip
LAN *and* serial access
-----------------------
Perhaps you need both LAN access and SLIP/PPP access, but not the same
time. It might be possible to do that using seperate entries in the Dialer
but I'm not sure. Things will be extra complicated if you have different
accounts with different email addresses, news servers, etc. You'll be on
your own on that, sorry. If you get it to work, I'd like to hear.
It's probably possible to get both LAN access and SLIP/PPP access
running at the same time with FreeTCP. Suppose you're in a dorm and you
and your roommate are connected through Ethernet. Both of you want to
use one phone line and one modem. Then read questions 5c and 5d in
WARPTCP.FAQ. They are talking about a "TCP/IP Configuration Notebook",
but since you don't have one (I told you before to buy Warp Connect if you want
that luxury :-), you might need to edit the files \TCPIP\ETC\RESOLV and
\TCP\ETC\HOSTS. Next, read WARPTCP2.TXT, ROUTEOS2.TXT OS2SLIP.TXT. These
contain some information on how to set up the different configuration
files for the routing to your own little network. You might need to run
ROUTED.EXE on the machine with the modem but perhaps static routing will
work as well. I'm not sure about this (see ROUTEOS2.TXT). Anyway, ROUTED.EXE
is not included with the IAK so you'll need the CSD for that. Also note that
you might need to run IPGATE ON, on the PC which has the modem and
has to forward (route) the packets. Scott Cooper (scooper@nando.net)
writes about this:
> When running Warp connect and TCP/IP on through both LAN and
> SLIP/PP connections, IPGATE is turned off automatically by the
> Connect code. If memory serves, this is done by the dialer.
You can get around this by starting the PPP connection from the command
line, Get this by using pppfake from hobbes.
Free TIA replacement
--------------------
I've got one final tip for you. Many companies, universities, etc. provide
only command line dial-up accounts. That's fine, but it would be really
great if you could use all your TCP/IP apps from home, wouldn't it? Well,
it's possible. There's a commercial program which you start from the command
line and turns it into a full blown SLIP link: The Internet Adapter
TIA, ftp://marketplace.com/pub/tia/). It costs $25, no source included.
However, there is an alternative which is free, based on 4.4BSD, comes with
complete sources and does SLIP as well as PPP. You can ftp SLiRP from
ftp://blitzen.canberra.edu.au/pub/slirp/
There's also a WWW page at http://blitzen.canberra.edu.au/~danjo/, look
for the pages on how to set it up with the Warp IAK. Or have a look
at my own homepage, http://carol.fwi.uva.nl/~leeuw/. You can compile the
sources yourself or pick up the binaries (see the WWW pages, but use them
on your own risk).
SLiRP comes in extra useful if you want LAN and SLIP/PPP access at the
same time. ROUTEOS2.TXT says the the administrator of the machine at the
other end of your SLIP/PPP line (usually a commercial Internet provider or
your university) has to assign you an IP "subnet" and add a route to your
network. Usually, they charge you money for this since IP addresses are
scarce and human intervention is required. With SLiRP, you can do all this
yourself since SLiRP is based on "fake" IP addresses for your network.
So you won't have to pay your service provider for extra service. See the
README in the SLiRP package on how to route the packets from your own
little LAN to the Internet.
Need more?
==========
There's one other thing: there are no "servers" included with the IAK. That
means, for example, that other people cannot telnet to your machine because
there is no "telnetd" running. In theory, it is possible to extract the
daemons (including the ones you need to print over the network to a remote
printer using the LPR protocol) you need from the CSD. Of course, this is
illegal. They are quite difficult to set up without docs anyway. Warp Connect
is much better at this. On the other hand, there are several freeware/
shareware servers available on Hobbes: ftpd, fingerd, telnetd(?), gopherd,
talkd, httpd, pop3d, etc. With a little bit of tweaking, you might even get
"peer to peer"-like functionality with Lynn's Workplace FTP from Hobbes.
This will integrate your peer's ftpd (ask your roommate to run Linux, WinQVT
or an OS/2 ftpd such as Neologic or Penguin) on the Desktop. If you find
an even better solution, I'd like to hear.
Acknowledgements
================
Thanks must go to Albert Crosby who made the Mini-FAQ about OS/2
and "Windows Networking" (OS2NET.TXT), bringing my attention to
the freely available MS LAN Manager, and Henrik Stroem (WARPTCP.TXT)
who posted an article on how to combine IBM TCP/IP and the IAK. If you
combine these two pieces of information (and you manage to find the CSD
and an old netbind somewhere :-), you come up with an idea like FreeTCP.
I'd also like to thank my "beta testers", who probably wish to remain
anonymous...
Author
======
Well, I didn't actually make anything, I just looked and looked until
I found the "missing parts". If you want to contact me:
Jacco de Leeuw
Student at the University of Amsterdam
Computer Science Department
J.C. van Wessemstraat 54
1501 VM Zaandam
The Netherlands
Internet: leeuw@fwi.uva.nl
WWW Homepage: http://carol.fwi.uva.nl/~leeuw/
Fidonet: 2:280/130.20